#define _CRT_SECURE_NO_WARNINGS 1


//
//int my_strstr(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	const char* p = str1;
//	const char* s1 = str1;
//	const char* s2 = str2;
//	if (*str2 == '\0')
//		return str1;
//	while (*p)
//	{
//		s1 = p;
//		s2 = str2;
//		while (*s1 && *s2 && (*s1 == *s2))
//		{
//			s1++;
//			s2++;
//		}
//		if (*s2 == '\0')
//			return p;
//		p++;
//	}
//	return NULL;
//}
//
//int main()
//{
//	char ch1[] = "abcdefgh";
//	char ch2[] = "";
//	int ret = my_strstr(ch1, ch2);
//	printf("%d\n", ret);
//	return 0;
//}

#include<stdio.h>
#include<assert.h>
#include<string.h>
int BF(const char* str, const  char* sub)
{
	assert(str && sub);
	if (str == NULL || sub == NULL)
		return -1;

	int lenstr = strlen(str);
	int lensub = strlen(sub);
	int i = 0;
	int j = 0;
	while (i < lenstr && j < lensub)
	{
		if (str[i] == sub[j])
		{
			i++;
			j++;
		}
		else
		{
			i = i - j + 1;
			j = 0;
		}
	}
	if (j >= strlen(sub))
		return i - j;

	return - 1;

}

int main()
{
	printf("%d\n", BF("abccccdef",""));

	return 0;
}